home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 8 / The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO / pcboard / iemsi120.zip / LOGON.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1996-10-19  |  2KB  |  234 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     String   STRING003
  21.     String   STRING004
  22.     String   STRING005
  23.     String   STRING006
  24.     String   STRING007
  25.     String   STRING008
  26.     String   STRING009
  27.     String   STRING010
  28.     String   STRING011
  29.     String   STRING012
  30.     String   STRING013
  31.     String   STRING014
  32.     String   STRING015
  33.     Byte     BYTE001
  34.     BigStr   BIGSTR001
  35.     Declare  Procedure PROC001()
  36.  
  37. ;------------------------------------------------------------------------------
  38.  
  39.     BYTE001 = FNext()
  40.     FOpen BYTE001, "IEMSI." + String(PcbNode()), 0, 0
  41.     If (Ferr(BYTE001)) Then
  42.         Print ReadLine(PPEPath() + "PRMT259" + LangExt(), 1)
  43.         End
  44.     Endif
  45.     FDefIn BYTE001
  46.     FDGet BIGSTR001
  47.     FDGet STRING003
  48.     FDGet STRING004
  49.     FDGet STRING005
  50.     FDGet STRING006
  51.     FDGet STRING007
  52.     FDGet STRING008
  53.     FDGet STRING009
  54.     FDGet STRING010
  55.     FDGet STRING011
  56.     FDGet STRING012
  57.     FDGet STRING013
  58.     FDGet STRING014
  59.     FDGet STRING015
  60.     FClose BYTE001
  61.     STRING003 = Upper(STRING003)
  62.     STRING008 = Upper(STRING008)
  63.     STRING005 = Upper(STRING005)
  64.     STRING013 = Upper(STRING013)
  65.     STRING011 = Upper(STRING011)
  66.     INTEGER001 = U_RecNum(Upper(STRING003))
  67.     If (INTEGER001 >= 0) Then
  68.         GetAltUser INTEGER001
  69.         If ((U_Pwd == STRING008) && (U_City == STRING005)) Then
  70.             PROC001()
  71.             PutUser
  72.             KeyFlush
  73.             KbdStuff STRING003 + ";" + STRING008
  74.         ElseIf (U_Pwd == STRING008) Then
  75.             PrintLn "@X0ETwo different addresses reported:"
  76.             PrintLn "@X0F  1 = ", STRING005
  77.             PrintLn "  2 = ", U_City
  78.             Newline
  79.             InputStr "Which one is correct (Enter)=" + STRING005, BYTE001, 14, 1, "12", 64
  80.             Newline
  81.             If (BYTE001 == 2) Then
  82.                 PrintLn "@X0APlease correct this [IEMSI] information in your terminal program."
  83.             Else
  84.                 U_City = STRING005
  85.                 PrintLn "@X0ALocation corrected."
  86.             Endif
  87.             PROC001()
  88.             PutUser
  89.             KeyFlush
  90.             KbdStuff STRING003 + ";" + STRING008
  91.         Else
  92.             KeyFlush
  93.             KbdStuff STRING003
  94.         Endif
  95.     Else
  96.         KeyFlush
  97.         KbdStuff STRING003
  98.     Endif
  99.     End
  100.  
  101. ;------------------------------------------------------------------------------
  102.  
  103.     Procedure PROC001()
  104.  
  105.     String   STRING016
  106.  
  107.     If (STRING013 <> "") Then
  108.         If (InStr(STRING013, "CLR")) Then
  109.             U_Cls = 1
  110.             Goto LABEL001
  111.         Endif
  112.         U_Cls = 0
  113.         :LABEL001
  114.         If (InStr(STRING013, "FSED")) Then
  115.             U_FSE = 1
  116.             U_FSEP = 0
  117.             Goto LABEL002
  118.         Endif
  119.         U_FSE = 0
  120.         U_FSEP = 1
  121.     Endif
  122.     :LABEL002
  123.     If (STRING011 <> "") Then
  124.         If (InStr(STRING011, "DZA")) Then
  125.             U_Trans = "Z"
  126.             Goto LABEL003
  127.         Endif
  128.         If (InStr(STRING011, "ZAP")) Then
  129.             U_Trans = "Z"
  130.             Goto LABEL003
  131.         Endif
  132.         If (InStr(STRING011, "ZMO")) Then
  133.             U_Trans = "Z"
  134.             Goto LABEL003
  135.         Endif
  136.         If (InStr(STRING011, "SLK")) Then
  137.             U_Trans = "S"
  138.             Goto LABEL003
  139.         Endif
  140.         If (InStr(STRING011, "KER")) Then
  141.             U_Trans = "K"
  142.         Endif
  143.     Endif
  144.     :LABEL003
  145.     If (STRING010 <> "") Then
  146.         STRING016 = Right(STRING010, Len(STRING010) - InStr(STRING010, ","))
  147.         BYTE001 = Left(STRING016, InStr(STRING016, ",") - 1)
  148.     Endif
  149.  
  150.     EndProc
  151.  
  152.  
  153. ;------------------------------------------------------------------------------
  154. ;
  155. ; Usage report (before postprocessing)
  156. ;
  157. ; ■ Statements used :
  158. ;
  159. ;    2       End
  160. ;    25      Goto 
  161. ;    21      Let 
  162. ;    1       Print 
  163. ;    5       PrintLn 
  164. ;    15      If 
  165. ;    1       FOpen 
  166. ;    1       FClose 
  167. ;    2       PutUser
  168. ;    1       InputStr 
  169. ;    2       Newline
  170. ;    4       KbdStuff 
  171. ;    1       FDefIn 
  172. ;    14      FDGet 
  173. ;    4       KeyFlush
  174. ;    1       GetAltUser 
  175. ;    1       EndProc
  176. ;
  177. ;
  178. ; ■ Functions used :
  179. ;
  180. ;    8       +
  181. ;    2       -
  182. ;    4       ==
  183. ;    3       <>
  184. ;    1       >=
  185. ;    15      !
  186. ;    1       &&
  187. ;    1       Len(
  188. ;    6       Upper()
  189. ;    1       Left()
  190. ;    1       Right()
  191. ;    1       Ferr()
  192. ;    9       InStr()
  193. ;    1       String()
  194. ;    1       PPEPath()
  195. ;    1       PcbNode()
  196. ;    1       ReadLine()
  197. ;    1       LangExt()
  198. ;    1       U_RecNum()
  199. ;    1       FNext()
  200. ;
  201. ;------------------------------------------------------------------------------
  202. ;
  203. ; Analysis flags : WRH
  204. ;
  205. ; W - Write user ■ 5
  206. ;     Program writes a user record. Although this may be normal for a
  207. ;     User Editor, it may also be a way to modify an account level.
  208. ;     ■ Search for : PUTUSER
  209. ;
  210. ; R - Read user ■ 5
  211. ;     User records are read, this may signify that someone wants to get
  212. ;     various informations about a user (for example his password), but
  213. ;     this may also be normal for a program accessing user records (for
  214. ;     example a User Editor)
  215. ;     ■ Search for : GETALTUSER
  216. ;
  217. ; H - Read Password or Password History ■ 5
  218. ;     Program is reading the user's password or last password history
  219. ;     This may be ok for a password manager, but it is very suspect. Check!
  220. ;     ■ Search for : U_PWDHIST, U_PWD
  221. ;
  222. ;------------------------------------------------------------------------------
  223. ;
  224. ; Postprocessing report
  225. ;
  226. ;    0       For/Next
  227. ;    0       While/EndWhile
  228. ;    15      If/Then or If/Then/Else
  229. ;    0       Select Case
  230. ;
  231. ;------------------------------------------------------------------------------
  232. ;                 AEGiS Corp - Break the routines, code against the machines!
  233. ;------------------------------------------------------------------------------
  234.